package cn.yeziji.forum.service;

import cn.yeziji.forum.basic.file.WebUploader;
import lombok.AllArgsConstructor;
import lombok.Data;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 上传文件服务
 *
 * @author gzkemays
 * @since 2022/3/28 23:18
 */
public interface UploadFileService {
  Integer UPLOAD_MAX = 5;
  Integer OPEN_THREAD_SIZE = 3;
  String TEMP_UPLOAD_PREFIX = "https://img.yeziji.xyz/temp/";
  /**
   * 聊天室上传文件
   *
   * @param files 文件
   * @return 文件地址
   * @deprecated 转用文件服务处理，具体详见调用 {@link WebUploader} 的方法。
   */
  List<String> uploadChatRoomFile(MultipartFile[] files);
  /**
   * 文章上传图片
   *
   * @param files 图片列表
   * @return 地址列表
   * @deprecated 转用文件服务处理，具体详见调用 {@link WebUploader} 的方法。
   */
  List<String> uploadDetailFile(MultipartFile[] files);

  @Data
  @AllArgsConstructor
  class FileUploadStatus {
    String md5;
    String url;
    boolean upload;
    MultipartFile file;
  }
}
